package com.lil.qmui.manager;

import android.content.Context;
import android.content.SharedPreferences;

import com.lil.qmui.app.MyApp;

/**
 * @author 作者： Administrator
 * 用于保存app版本相关信息
 * @version 创建时间：2014年8月26日下午6:54:04
 */
public class APPSPManager {

    public static String PREFS_NAME = "spring_boot";

    public static SharedPreferences sp;
    public static SharedPreferences.Editor editor;
    public static Context context = null;
    public static String code = "code";

    public static final String SHARED_SERVER_TERM_VERSION = "shared_server_term_version";// 终端最新版本号
    public static final String SHARED_LOCAL_TERM_VERSION = "shared_local_term_version";// 终端最新版本号
    public static final String VERSION_NAME = "version_name";// 版本名称
    public static final String VERSION_CODE = "version_code";// 版本号

    /**
     * SharedPreferences初始化，每次读写操作都必须
     */
    public static void initPreference() {
        if (context == null) {
            context = MyApp.getContext();
        }
        sp = context.getSharedPreferences(PREFS_NAME,
                Context.MODE_PRIVATE);
        editor = sp.edit();
        editor.commit();
    }

    /**
     * 设置版本名称
     *
     * @param versionName
     * @return
     */
    public static void setVersionName(String versionName) {
        initPreference();
        editor.putString(VERSION_NAME, versionName);
        editor.commit();
    }

    /**
     * 获取版本名称
     *
     * @return
     */
    public static String getVersionName() {
        initPreference();
        return sp.getString(VERSION_NAME, "");
    }

    /**
     * 设置版本号
     *
     * @param code
     */
    public static void setAppVersionCode(int code) {
        initPreference();
        editor.putInt(VERSION_CODE, code);
        editor.commit();
    }

    /**
     * 获取版本号
     *
     * @return
     */
    public static int getAppVersionCode() {
        initPreference();
        return sp.getInt(VERSION_CODE, 0);
    }



    public static String getSharedPreference(String name, String delfultValue) {
        initPreference();
        return sp.getString(name, delfultValue);
    }

    public static boolean getSharedPreference(String name,
                                              boolean delfultValue) {
        initPreference();
        return sp.getBoolean(name, delfultValue);
    }

    public static int getSharedPreference(String name, int defaultValue) {
        initPreference();
        return sp.getInt(name, defaultValue);
    }

    public static void setSharedPreference(String name, boolean value) {
        initPreference();
        editor.putBoolean(name, value);
        editor.commit();
    }

    public static void setSharedPreference(String name, int value) {
        initPreference();
        editor.putInt(name, value);
        editor.commit();
    }


    public static void setSharedPreference(String name, String value) {
        initPreference();
        editor.putString(name, value);
        editor.commit();
    }


}
